/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author usuario
 */
@Entity
@Table(name = "empleado")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Empleado.findAll", query = "SELECT e FROM Empleado e"),
    @NamedQuery(name = "Empleado.findByIdempleado", query = "SELECT e FROM Empleado e WHERE e.idempleado = :idempleado"),
    @NamedQuery(name = "Empleado.findByNombreempleado", query = "SELECT e FROM Empleado e WHERE e.nombreempleado = :nombreempleado"),
    @NamedQuery(name = "Empleado.findByApellidoempleado", query = "SELECT e FROM Empleado e WHERE e.apellidoempleado = :apellidoempleado"),
    @NamedQuery(name = "Empleado.findByDireccionempleado", query = "SELECT e FROM Empleado e WHERE e.direccionempleado = :direccionempleado"),
    @NamedQuery(name = "Empleado.findByTelefonoempleado", query = "SELECT e FROM Empleado e WHERE e.telefonoempleado = :telefonoempleado"),
    @NamedQuery(name = "Empleado.findByCargoempleado", query = "SELECT e FROM Empleado e WHERE e.cargoempleado = :cargoempleado")})
public class Empleado implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "idempleado")
    private String idempleado;
    @Basic(optional = false)
    @Column(name = "nombreempleado")
    private String nombreempleado;
    @Basic(optional = false)
    @Column(name = "apellidoempleado")
    private String apellidoempleado;
    @Basic(optional = false)
    @Column(name = "direccionempleado")
    private String direccionempleado;
    @Basic(optional = false)
    @Column(name = "telefonoempleado")
    private String telefonoempleado;
    @Basic(optional = false)
    @Column(name = "cargoempleado")
    private String cargoempleado;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idempleado")
    private Collection<Compra> compraCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idempleado")
    private Collection<Pagocliente> pagoclienteCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idempleado")
    private Collection<Pagoproveedor> pagoproveedorCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idempleado")
    private Collection<Venta> ventaCollection;

    public Empleado() {
    }

    public Empleado(String idempleado) {
        this.idempleado = idempleado;
    }

    public Empleado(String idempleado, String nombreempleado, String apellidoempleado, String direccionempleado, String telefonoempleado, String cargoempleado) {
        this.idempleado = idempleado;
        this.nombreempleado = nombreempleado;
        this.apellidoempleado = apellidoempleado;
        this.direccionempleado = direccionempleado;
        this.telefonoempleado = telefonoempleado;
        this.cargoempleado = cargoempleado;
    }

    public String getIdempleado() {
        return idempleado;
    }

    public void setIdempleado(String idempleado) {
        this.idempleado = idempleado;
    }

    public String getNombreempleado() {
        return nombreempleado;
    }

    public void setNombreempleado(String nombreempleado) {
        this.nombreempleado = nombreempleado;
    }

    public String getApellidoempleado() {
        return apellidoempleado;
    }

    public void setApellidoempleado(String apellidoempleado) {
        this.apellidoempleado = apellidoempleado;
    }

    public String getDireccionempleado() {
        return direccionempleado;
    }

    public void setDireccionempleado(String direccionempleado) {
        this.direccionempleado = direccionempleado;
    }

    public String getTelefonoempleado() {
        return telefonoempleado;
    }

    public void setTelefonoempleado(String telefonoempleado) {
        this.telefonoempleado = telefonoempleado;
    }

    public String getCargoempleado() {
        return cargoempleado;
    }

    public void setCargoempleado(String cargoempleado) {
        this.cargoempleado = cargoempleado;
    }

    @XmlTransient
    public Collection<Compra> getCompraCollection() {
        return compraCollection;
    }

    public void setCompraCollection(Collection<Compra> compraCollection) {
        this.compraCollection = compraCollection;
    }

    @XmlTransient
    public Collection<Pagocliente> getPagoclienteCollection() {
        return pagoclienteCollection;
    }

    public void setPagoclienteCollection(Collection<Pagocliente> pagoclienteCollection) {
        this.pagoclienteCollection = pagoclienteCollection;
    }

    @XmlTransient
    public Collection<Pagoproveedor> getPagoproveedorCollection() {
        return pagoproveedorCollection;
    }

    public void setPagoproveedorCollection(Collection<Pagoproveedor> pagoproveedorCollection) {
        this.pagoproveedorCollection = pagoproveedorCollection;
    }

    @XmlTransient
    public Collection<Venta> getVentaCollection() {
        return ventaCollection;
    }

    public void setVentaCollection(Collection<Venta> ventaCollection) {
        this.ventaCollection = ventaCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idempleado != null ? idempleado.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Empleado)) {
            return false;
        }
        Empleado other = (Empleado) object;
        if ((this.idempleado == null && other.idempleado != null) || (this.idempleado != null && !this.idempleado.equals(other.idempleado))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "modelo.Empleado[ idempleado=" + idempleado + " ]";
    }
    
}
